<script setup>
  import { ref,onMounted } from 'vue'
  import {loginApi} from '@/api/login'
  import { ElMessage} from 'element-plus'
  import { useRouter } from 'vue-router'

  let loginForm = ref({username:'', password:'',verifCode:''})
  
  const router=useRouter();
  const login=async()=>{
   const result= await loginApi(loginForm.value);
   if(result.code){
    ElMessage.success("登录成功");
    localStorage.setItem("userLogin",JSON.stringify(result.data));
    router.push("/index");// 跳转
   }else{
    ElMessage.error(result.msg)
   }
  }

  const resert=()=>{
      loginForm.value = {
      username: '',
      password: '',
      verifCode:''
    }
  }

	//验证码
	const verifySrc=ref("http://localhost:8080/code/verify");
	function changeVerify(){
		verifySrc.value="http://localhost:8080/code/verify?"+new Date().getTime()
		
	}

  onMounted(()=>{
    changeVerify();
})

</script>

<template>
  <div id="container">
    <div class="login-form">
      <el-form label-width="80px">
        <p class="title">Tlias智能学习辅助系统</p>
        <el-form-item label="用户名" prop="username">
          <el-input v-model="loginForm.username" placeholder="请输入用户名"></el-input>
        </el-form-item>

        <el-form-item label="密码" prop="password">
          <el-input type="password" v-model="loginForm.password" placeholder="请输入密码"></el-input>
        </el-form-item>
        
         <el-form-item label="验证码" prop="verifCode">
          <div class="verify-container">
            <el-input v-model="loginForm.verifCode" placeholder="请输入验证码"></el-input>
            <img :src="verifySrc" alt="图片无法加载" @click="changeVerify()" class="verify-img">
          </div>
        </el-form-item>

        <el-form-item>
          <el-button class="button" type="primary" @click="login">登 录</el-button>
          <el-button class="button" type="info" @click="resert">重 置</el-button>
        </el-form-item>
      </el-form>
    </div>
  </div>
</template>

<style scoped>
#container {
  padding: 10%;
  height: 410px;
  background-image: url('../../assets/bg1.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}

.login-form {
  max-width: 400px;
  padding: 30px;
  margin: 0 auto;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  background-color: white;
}

.title {
  font-size: 30px;
  font-family: '楷体';
  text-align: center;
  margin-bottom: 30px;
  font-weight: bold;
}

.button {
  margin-top: 30px;
  width: 120px;
}

.verify-container {
  display: flex;
  align-items: center;
  gap: 10px;
}

.verify-img {
  height: 40px;
  cursor: pointer;
}
</style>